home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / a_man / cat7 / ethernet.z / ethernet
Encoding:
Text File  |  2002-10-03  |  14.2 KB  |  331 lines

  1.  
  2.  
  3.  
  4. EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))                                                        EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ethernet - Ethernet controllers
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      IRIX supports local-area networking with Ethernet.  The Ethernet protocol
  13.      is supported with a hardware controller and a kernel driver.  Though the
  14.      controllers are different among the various hardware platforms, their
  15.      drivers provide the same programming interface to networking routines.
  16.  
  17.      Most ethernet controllers are named using the following convention:  the
  18.      prefix is `e' and the suffix ('N') is the controller unit number.
  19.      However, not all drivers follow this, as shown below:
  20.  
  21.           Name Type      Model
  22.           ec0  on-board  Indigo, Indigo2, Indy, CHALLENGE S/M (10baseT)
  23.           ec0  on-board  O2 (10/100baseTX)
  24.           ec1  PCI       O2 (10/100baseTX)
  25.           et0  on-board  POWER Series, Challenge/Onyx systems (10baseT)
  26.           etN  HIO       POWER Series, Challenge/Onyx systems (10baseT)
  27.           ef0  on-board  Silicon Graphics OCTANE/OCTANE2,
  28.                          SGI Origin Server Family, Silicon Graphics Fuel,
  29.                          Silicon Graphics Onyx2 Family, SGI Onyx 3000 Series,
  30.                          SGI Onyx 300 Fast Ethernet (10/100baseTX)
  31.           efN  PCI       Silicon Graphics OCTANE/OCTANE2, SGI Origin 200,
  32.                          SGI Origin 2000, SGI Onyx2 Fast Ethernet
  33.                          (10/100baseTX)
  34.           efN  XIO       Silicon Graphics OCTANE/OCTANE2, SGI Origin 200,
  35.                          SGI Origin 2000, SGI Onyx2, SGI 3000 Series,
  36.                          SGI Onyx 3000 Series Fast Ethernet (10/100baseTX)
  37.           epN  HIO       CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx (10baseT)
  38.           fxpN VME       CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx (10baseT)
  39.           gfeN GIO       Indy, Indigo, Indigo2, CHALLENGE S (10/100baseTX)
  40.           vfeN VME       CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx
  41.                          (10/100baseTX)
  42.           egN  PCI       Silicon Graphics OCTANE/OCTANE2, SGI Origin 200,
  43.                          SGI Origin 300, SGI 3000 series, SGI Onyx 300,
  44.                          SGI Onyx 3000 Series, Silicon Graphics Fuel,
  45.                          (10/100/1000baseT and 1000baseSX)
  46.           egN  XIO       SGI Origin 2000, SGI Onyx2
  47.                          (10/100/1000baseT and 1000baseSX)
  48.           tgN  PCI       SGI Origin 300, SGI 3000 series, SGI Origin 200,
  49.                          SGI Onyx 3000 Series, SGI Onyx 300,
  50.                          Silicon Graphics Fuel,
  51.                          (10/100/1000baseT and 1000baseSX)
  52.           tgN  XIO       SGI Origin 2000, SGI Onyx2
  53.                          (10/100/1000baseT and 1000baseSX)
  54.  
  55.      Depending on the model, several Ethernet controllers are supported,
  56.      allowing the system to act as a gateway among different local networks.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))                                                        EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))
  71.  
  72.  
  73.  
  74.      The Ethernet boards are initialized during system startup from
  75.      /etc/init.d/network (see _n_e_t_w_o_r_k(1M) for details).
  76.  
  77.      IRIX implements the Ethernet encapsulation format.  Each packet has a
  78.      14-byte header, as defined in the #include file <_n_e_t_i_n_e_t/_i_f__e_t_h_e_r._h>:
  79.  
  80.           struct ether_header {
  81.                u_char    ether_dhost[6];     /* destination address */
  82.                u_char    ether_shost[6];     /* source address */
  83.                u_short   ether_type;    /* packet type */
  84.           };
  85.  
  86.  
  87.      The packet type determines which kernel protocol routine is called to
  88.      process the packet data.  Examples of common packet types are IP, ARP,
  89.      and DECnet.
  90.  
  91.      On systems with 10/100baseTX capability, auto-negotiation is enabled by
  92.      default; through auto-negotiation, the ethernet transceiver will select
  93.      the highest performance common connection technology between a local host
  94.      and a remote host.  For the OCTANE and Origin systems, refer to
  95.      /_v_a_r/_s_y_s_g_e_n/_m_a_s_t_e_r._d/_i_f__e_f if the manual selection of ethernet speed and
  96.      duplex mode is desired.  For the O2 on-board ethernet, the PROM variable
  97.      'ec0mode' can be used to select the desired speed (legal values are:  10,
  98.      100, f100, and h100).  For the O2 add-on ethernet, refer to
  99.      /_v_a_r/_s_y_s_g_e_n/_m_a_s_t_e_r._d/_i_f__e_c_f if the manual selection of ethernet speed and
  100.      duplex mode is desired.
  101.  
  102.      To disable auto-negotiation and force a specific speed/duplex, you can
  103.      modify the /_v_a_r/_s_y_s_g_e_n/_m_a_s_t_e_r._d/_i_f__e_f file with the following changes.
  104.      As the following example shows, you must specify _x_x_x as a valid phy type,
  105.      specify _y_y_y as a valid speed/duplex mode, and remove the #ifdef/#endif
  106.      lines.
  107.  
  108.      In addition, you must set the ethernet unit number to -1 to activate the
  109.      chipset features on all interfaces (this is the default in this file, as
  110.      shown in the following example), or set it to a specific interface number
  111.      that will affect only that interface.
  112.  
  113.      The example is as follows:
  114.  
  115.      To lock down the ef0 interface on an Origin 2000 system to 100mbit/full-
  116.      duplex, specify the following:
  117.  
  118.      { 0, PHY_DP83840, -1, 0, 0xffff, F100 },
  119.  
  120.      To lock down the ef1 interface on an Octane system to 10mbit/half-duplex,
  121.      specify the following:
  122.  
  123.      { 1, PHY_DP83840, -1, 0, 0xffff, H10 },
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))                                                        EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))
  137.  
  138.  
  139.  
  140.      You must also remove the #ifdef/#endif lines.
  141.  
  142.           */
  143.           #define F100    0x2100                       /* 100mbps full duplex mode */
  144.           #define H100    0x2000                       /* 100mbps half duplex mode */
  145.           #define F10     0x0100                       /* 10mbps full duplex mode */
  146.           #define H10     0x0000                       /* 10mbps half duplex mode */
  147.  
  148.           struct phyerrata {
  149.                int             unit;
  150.                __uint32_t      type;
  151.                short           rev;
  152.                unsigned short  reg, mask, val;
  153.           } ef_phyerrata[] = {
  154.                { -1, PHY_DP83840, -1, 23, 1 << 5, 1 << 5 },  /* bypass link disconnect */
  155.                { -1, PHY_ICS1890, -1, 18, 1 << 5, 1 << 5 },  /* link loss inhibit */
  156.           #ifdef notdef
  157.                { -1, xxx, -1, 0, 0xffff, yyy },
  158.           #endif
  159.                { -1, 0, 0, 0, 0, 0},
  160.           };
  161.  
  162.  
  163.      Auto-negotiation for the gigabit Ethernet 1000Base-SX differs from auto-
  164.      negotiation for IEEE 802.3u 100BaseT. 100BaseT uses the National
  165.      Semiconductor NWay (TM) Auto-Negotiation standard.  Most of the 10/100
  166.      Ethernet controller chips include N-Way Auto-Negotiation.
  167.  
  168.      There is no auto-negotiation standard for 1000Base-SX; this may require
  169.      that auto-negotiation be disabled. To disable auto-negotiation, you must
  170.      use the following commands:
  171.  
  172.           ifconfig eg<n> down
  173.           egconfig -l eg<n>
  174.           ifconfig eg<n> up
  175.  
  176.  
  177.      If you need to reenable auto-negotiation, you must reboot the system
  178.      because the auto-negotiation status of a system cannot be checked.
  179.  
  180.      The default for auto-negotiation is to be enabled on bootup.  If you want
  181.      auto-negotiation to be disabled by default, you must create the
  182.      /_e_t_c/_c_o_n_f_i_g/_e_g<_n>._o_p_t_i_o_n_s file and add the -l option (letter l).
  183.  
  184.      Whether or not auto-negotiation is enabled or disabled, the speed and
  185.      mode will always be 1,000 Mbits/second, full duplex.
  186.  
  187. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  188.      Various error messages are printed by the kernel when a problem is
  189.      encountered.  The message is preceded by the controller name, for
  190.      example, et0.  Serious errors are flagged with a dagger (|-).  If they
  191.      occur repeatedly, contact your product support service for assistance.
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))                                                        EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))
  203.  
  204.  
  205.  
  206.      By default, many non-serious errors will not cause a diagnostic message
  207.      to be displayed on the console.  To enable all driver diag messages, use
  208.      the command iiiiffffccccoooonnnnffffiiiigggg xxxxxxxxxxxx ddddeeeebbbbuuuugggg where xxx is the ethernet network
  209.      interface name.
  210.  
  211.      The following error messages are common to all controllers:
  212.  
  213.         packet too small (length = X)
  214.         packet too large (length = X)
  215.              The controller received a packet that was smaller than the
  216.              minimum Ethernet packet size of 60 bytes or larger than the
  217.              maximum of 1514.  This problem is caused by another machine with
  218.              a bad Ethernet controller or transceiver.
  219.  
  220.         stray interrupt
  221.         early interrupt
  222.              The controller interrupted the kernel before the device was
  223.              initialized.  This error is innocuous; it occurs after booting a
  224.              kernel over the network from the PROM monitor.
  225.  
  226.         died and restarted
  227.              The controller failed to respond after a certain amount of time
  228.              and the driver had to reset it.
  229.  
  230.         cannot handle address family
  231.              This message indicates an error in the kernel protocol handling
  232.              routines.|-
  233.  
  234.      The following messages are specific to the ec and et controllers.
  235.  
  236.         no carrier: check Ethernet cable
  237.              Carrier was not detected when attempting to transmit, probably
  238.              because the Ethernet cable is unplugged from the machine (but
  239.              possibly due to a broken transceiver, transceiver cable, or
  240.              10baseT hub).
  241.  
  242.         late collision
  243.              The controller tried to transmit a packet but received a late
  244.              collision signal from another machine.  Usually indicates a
  245.              problem in the Ethernet cable layout.
  246.  
  247.         transmit buffer error
  248.         receive buffer error
  249.         transmit underflow
  250.         receive packet overflow
  251.              The controller ran out of memory when trying to transmit or
  252.              receive a packet.|-
  253.  
  254.         unknown interrupt
  255.              The controller interrupted the kernel but the reason for the
  256.              interrupt is missing.|-
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))                                                        EEEETTTTHHHHEEEERRRRNNNNEEEETTTT((((7777))))
  269.  
  270.  
  271.  
  272.         babbling
  273.              The kernel tried to transmit a packet larger than the maximum
  274.              size.|-
  275.  
  276.         machine has bad Ethernet address: x:x:x:x:x:x
  277.              The Ethernet address obtained from non-volatile RAM during
  278.              controller initialization was corrupted.|-
  279.  
  280.         memory timeout
  281.              The LANCE Ethernet chip failed to access its local memory.|-
  282.  
  283.      Counts of Ethernet input and output errors can be displayed with the
  284.      command _n_e_t_s_t_a_t -_i (see _n_e_t_s_t_a_t(1M)).  Typically, output errors and
  285.      collisions occur due to mismatched controller and transceiver
  286.      configurations.  Input error statistics include counts of the errors
  287.      listed above and counts of protocol input queue overflows.
  288.  
  289. CCCCoooonnnnffffiiiigggguuuurrrriiiinnnngggg aaaaddddddddiiiittttiiiioooonnnnaaaallll eeeetttthhhheeeerrrrnnnneeeetttt ppppoooorrrrttttssss oooonnnn CCCChhhhaaaalllllllleeeennnnggggeeee////OOOOnnnnyyyyxxxx LLLL////XXXXLLLL ssssyyyysssstttteeeemmmmssss
  290.      Onyx and Challenge L/XL systems only enable the ethernet on the master
  291.      IO4 by default.  To activate the ethernet interfaces on other IO4 boards,
  292.      a vector line must be added to ////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////ssssyyyysssstttteeeemmmm////iiiirrrriiiixxxx....ssssmmmm. The following
  293.      vector line configures the ethernet interface on the IO4 in slot 13 as
  294.      et1:
  295.  
  296.      VECTOR: bustype=EPC module=epcether unit=1 slot=13
  297.  
  298.      The first two options (bustype and module) are mandatory and tell lboot
  299.      that you're configuring an ethernet interface.  The "unit" option
  300.      specifies the ethernet unit number. The unit number must be greater than
  301.      0.  The "slot" option specifies the slot of the IO4 whose ethernet
  302.      interface is being configured as et1.
  303.  
  304.      After updating the iiiirrrriiiixxxx....ssssmmmm file, autoconfig(1m) should be executed to
  305.      reconfigure the kernel.  To make the new interface available, reboot the
  306.      machine with the new kernel.
  307.  
  308. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  309.      ioconfig(1M), netstat(1M), network(1M), socket(2), drain(7P), ip(7P),
  310.      raw(7P), snoop(7P)
  311.  
  312. NNNNOOOOTTTTEEEE
  313.      IEEE 802.3 Ethernet encapsulation is not currently supported.  Some
  314.      Ethernet controllers will support IEEE 802.3 and Ethernet v.1/v.2
  315.      electrical specifications.  Contact your product support service for more
  316.      information.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.